package com.niit.service;

import com.niit.entity.Movie;
import org.springframework.stereotype.Service;

import java.util.List;


/**
 * 电影服务接口，提供关于电影的增删改查等操作。
 */
@Service
public interface MovieService {

    /**
     * 根据条件查询所有符合条件的电影。
     *
     * @param movie 查询条件，包含电影的各种属性。
     * @return 符合条件的所有电影。
     */
    List<Movie> findAllMovies();

    /**
     * 根据电影ID查询电影。
     *
     * @param id 电影的唯一标识。
     * @return 与指定ID匹配的电影。
     */
    Movie findMovieById(Integer id);

    /**
     * 根据电影名称查询电影。
     *
     * @param name 电影的名称。
     * @return 与指定名称匹配的电影。
     */
    Movie findMovieByName(String name);

    /**
     * 添加一部新电影。
     *
     * @param movie 待添加的电影信息。
     * @return 添加后的电影信息。
     */
    Movie addMovie(Movie movie);

    /**
     * 更新一部电影的信息。
     *
     * @param movie 包含更新后信息的电影。
     * @return 更新后的电影信息。
     */
    int updateMovie(Movie movie);

    /**
     * 根据电影ID删除一部电影。
     *
     * @param id 待删除电影的唯一标识。
     * @return 被删除的电影信息。
     */
    int deleteMovie(Integer movie);

}

